home *** CD-ROM | disk | FTP | other *** search
- Thief is a TSR (Terminate and Stay Resident) utility written in 8086 assembly
- language that attempts to steal Novell passwords. It originates from a site
- with consummate hackers and a long, colorful history of mischief: George
- Washington High School in Denver, Colorado.
-
- The school is well endowed with a large variety of IBM microcomputers. Five
- rooms of about 30 computers each are all tied together on a Novell network.
- Four of the five rooms solely use boot proms for initializing the
- workstations.* However, the fifth houses IBM PS/2 model 80s with hard drives.
- The power users tend to congregate in this area, including the "administrators"
- with Supervisor equivalence. These machines do not use boot proms.
-
- So it was on one of these computers where the "thief" was first discovered,
- because it takes advantage of weaknesses in the security at the boot phase.
- Into the regular flow of action in the AUTOEXEC.BAT file, the creator inserted
- a line that executes the (hidden) program copied onto the boot disk. The TSR
- remains in the background and the process continues. Visual signs of the
- break-in are imperceptable.
-
- Then, as soon as a program named LOGIN is executed, the thief springs to life
- and records all the keystroke action into a hidden file on the boot disk. The
- human thief may then later return to the computer and see what the trap caught.
-
- Before a more detailed description of the "metabolism" of the thief, consider
- now the weaknesses that led to the breach:
-
- o a localized boot process, or at least one that is corruptable.
- o _physical_ access (by the thief) to a sensitive computer.
-
- Both are controllable, of course. The boot prom is a solution for the former,
- and lock and key (on the computer or a room that surrounds it) is for the
- latter.
-
-
- Now return to the "metabolism". Surprisingly, THIEF uses the same "hook" that
- the Novell shell does! That is, it captures the centralized portal to DOS,
- interrupt 21h.* Then, it intercepts all function calls. Specifically, it
- checks for the EXECute file function call and the "terminate" interrupt.
- Whenever an EXEC call is made with a filename LOGIN, THIEF springs to life and
- records keystrokes until the program terminates. This is somewhat
- sophisticated; however, an even more effective method could be realized: it
- could simply wait for the specialized Novell function call to log in, and
- record the calling parameters. Note that the above technique requires the
- program be loaded _subsequent_ to the Netware shell.
-
-
- By no means are these types of programs new; they have been around as long as
- password-based program security. Here, however, is an example that is
- tangible and immediate. Study of it is beneficial because knowledge of
- Netware security is one thing; knowledge of how to _defeat_ it is quite
- another! The latter demands cutting-edge sophistication and comprehension.
-
- The future will certainly see improved identification techniques, and timeless,
- devious ingenuity will be there to greet them.
-
-
- Note: THIEF was formerly named GETIT by its creator, who was careless and cocky
- enough to leave the source code.
-
-
- *"Boot proms", for those not familiar, are accessory chips that reside on
- network interface cards; they redirect local drive activity to the server
- during the boot process, thus allowing a workstation to initialize without a
- (boot) disk.
-
- *Interrupt 21h is that used by any program when requesting a DOS function.
- The Netware shell, of course, intercepts this regular flow. It may pass the
- information directly along to DOS, or process the call itself.